package org.znxs.znxsframe.services;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import org.znxs.znxsframe.model.dto.chart.ChartQueryRequest;
import org.znxs.znxsframe.model.entity.Chart;

import java.util.List;
import java.util.Map;


/**
 * @author administer
 * @description 针对表【chart(图表信息表)】的数据库操作Service
 * @createDate 2024-10-15 14:47:28
 */
public interface ChartService extends IService<Chart> {

    Wrapper<Chart> getQueryWrapper(ChartQueryRequest chartQueryRequest);

    /**
     * 用户上传的时候，每次上传文件都新建这个表
     *
     * @param tableName  新建表名
     * @param headerAttributes 用户图表文件标头属性
     */
    void createUserChartTable(String tableName, List<String> headerAttributes);

    /**
     * 添加数据
     * @param tableName 表名
     * @param rowAttributes 用户图表文件所有数据
     */
    void insertUserChartTable(String tableName, List<List<String>> rowAttributes);


    /**
     * 更新图表状态失败
     *
     * @param charId
     * @param status
     */
    boolean handleUpdateChartStatus(long charId, String status);


    /**
     * 处理更新图表状态失败状态
     *
     * @param charId
     * @param execMessage 任务执行信息
     */
    void handleUpdateChartStatusError(long charId, String execMessage);


}
